Skip to content

Move the site to Solid 2 and the current component library - #8

Closed
pathscale wants to merge 2 commits into
masterfrom
chore/upgrade-ui-solid2
Closed

Move the site to Solid 2 and the current component library#8
pathscale wants to merge 2 commits into
masterfrom
chore/upgrade-ui-solid2

Conversation

@pathscale

Copy link
Copy Markdown
Owner

Why

@pathscale/ui 1.2.11 is far behind. Reaching the current release means moving the whole stack, because the library is unusable on Solid 1: solid-layouts imports helpers only the newer major exports, and rspack hard-errors on them at link time even though the library guards the call at runtime. 2.5.x is not a middle ground for the same reason.

What changed

Runtime and toolchain

  • solid-js 2.0.0-rc.0, @solidjs/router 2.0.0-next.16, solid-layouts 0.2.0, @pathscale/ui 2.6.2.
  • JSX moved to @solidjs/web, so jsxImportSource and the render import move with it.
  • Drops @rsbuild/plugin-solid: it pins babel-preset-solid@^1.9.12, the Solid 1 compiler, which emits a use helper and a solid-js/web specifier that Solid 2 removed. Babel drives the Solid 2 preset directly instead.
  • Adds rsbuild-plugin-solid-layouts, the library's own integration, and resolves solid-layouts to the Solid 2 backend it ships behind a /solid-2 subpath while its default entry stays on Solid 1.
  • Removes the @refresh reload pragma, which pulled Solid 1 refresh codegen into the dev build.

Call sites

  • variant="primary" becomes variant="solid" with flavor="primary"; isIconOnly becomes width="square"; Icon takes src rather than name.
  • The router no longer ships Router, Route or A, so routes are declared through createRouter and links are plain anchors.
  • createEffect takes a compute function and an effect function, and onMount is gone, so both call sites move to the new shape.

Verification

  • bun run typecheck, bun run lint (exit 0) and bun run build all pass. The dev build reports zero resolution errors.
  • Driven in a real browser against bun run dev, on @pathscale/ui@2.6.2 installed from npm rather than a local build: /, /spec, /syntax and /vignette all render with zero console errors, the home page tabs switch panels, the theme toggle flips light and dark and persists, and client-side navigation works without a full page load.

The home page depended on a Solid 2 fix in the component library (pathscale/ui#247, released as 2.6.2); before it, Tabs halted the reactive system and the page rendered blank.

meh added 2 commits August 16, 2026 20:30
Upgrades @pathscale/ui from 1.2.11 to 2.6.1, which requires solid-js 2.
Reaching it means moving the whole stack, since the library is unusable on
Solid 1: solid-layouts imports helpers that only the newer major exports.

Runtime and toolchain:

- solid-js 2.0.0-rc.0, @solidjs/router 2.0.0-next.16, solid-layouts 0.2.0.
- JSX now comes from @solidjs/web, so jsxImportSource and the render import
  move with it.
- Drops @rsbuild/plugin-solid, which pins the Solid 1 compiler and emits
  helpers the new runtime removed, and drives babel-preset-solid 2 directly.
- Adds rsbuild-plugin-solid-layouts, the library's own integration, and
  resolves solid-layouts to the Solid 2 backend it ships behind a subpath.
- Removes the @refresh pragma, which pulled in Solid 1 refresh codegen.

Call sites, for the 2.x prop vocabulary:

- variant="primary" becomes variant="solid" plus flavor="primary".
- isIconOnly becomes width="square"; Icon takes src rather than name.
- The router no longer ships Route, Router or A components, so routes are
  declared through createRouter and links are plain anchors.
- createEffect takes a compute function and an effect function; onMount is
  gone, so both call sites move to the new shape.

Verified: typecheck, lint, production and dev builds, plus a browser pass
over /spec, /syntax and /vignette, client-side navigation and the theme
toggle. The home page still needs a Tabs fix in the component library.
@pathscale

Copy link
Copy Markdown
Owner Author

Landing directly on master instead.

@pathscale pathscale closed this Aug 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant